package com.zucc.entity;

import javax.persistence.Column;
import javax.persistence.Id;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class Device implements Serializable {
    /**
     * 表对象编号
     */
    @Id
    private Long id;

    /**
     * 是否被删除，0：未删除，1：已删除
     */
    @Column(name = "del_flag")
    private Integer delFlag;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    private Date createTime;

    /**
     * 创建人编号
     */
    @Column(name = "create_person_id")
    private Long createPersonId;

    /**
     * 最后修改时间
     */
    @Column(name = "modify_time")
    private Date modifyTime;

    /**
     * 最后修改人编号
     */
    @Column(name = "modify_person_id")
    private Long modifyPersonId;

    /**
     * 软删除时间
     */
    @Column(name = "delete_time")
    private Date deleteTime;

    /**
     * 删除人编号
     */
    @Column(name = "delete_person_id")
    private Long deletePersonId;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 分类号
     */
    @Column(name = "category_number")
    private String categoryNumber;

    /**
     * 设备号
     */
    @Column(name = "device_number")
    private String deviceNumber;

    /**
     * 设备数量
     */
    private Integer count;

    /**
     * 设备名称
     */
    @Column(name = "device_name")
    private String deviceName;

    /**
     * 型号
     */
    private String model;

    /**
     * 规格
     */
    private String specifications;

    /**
     * 单价
     */
    private BigDecimal price;

    /**
     * 购买日期
     */
    @Column(name = "buy_date")
    private Date buyDate;

    /**
     * 报废日期
     */
    @Column(name = "scrap_date")
    private Date scrapDate;

    /**
     * 领用单位
     */
    @Column(name = "use_unit")
    private String useUnit;

    /**
     * 领用人编号
     */
    @Column(name = "user_id")
    private Long userId;

    /**
     * 领用人
     */
    @Column(name = "user_name")
    private String userName;

    /**
     * 原存放地址
     */
    @Column(name = "old_address")
    private String oldAddress;

    /**
     * 现存放地址
     */
    @Column(name = "new_address")
    private String newAddress;

    /**
     * 来源，0:购买，1:历史导入，2:盘盈
     */
    private Integer source;

    /**
     * 状态，0:正常，1:报废，2:盘亏，3:丢损
     */
    private Integer status;

    /**
     * 审批状态，0:审批中，1:审批通过
     */
    @Column(name = "approval_status")
    private Integer approvalStatus;

    private static final long serialVersionUID = 1L;

    /**
     * 获取表对象编号
     *
     * @return id - 表对象编号
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置表对象编号
     *
     * @param id 表对象编号
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取是否被删除，0：未删除，1：已删除
     *
     * @return del_flag - 是否被删除，0：未删除，1：已删除
     */
    public Integer getDelFlag() {
        return delFlag;
    }

    /**
     * 设置是否被删除，0：未删除，1：已删除
     *
     * @param delFlag 是否被删除，0：未删除，1：已删除
     */
    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    /**
     * 获取创建时间
     *
     * @return create_time - 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取创建人编号
     *
     * @return create_person_id - 创建人编号
     */
    public Long getCreatePersonId() {
        return createPersonId;
    }

    /**
     * 设置创建人编号
     *
     * @param createPersonId 创建人编号
     */
    public void setCreatePersonId(Long createPersonId) {
        this.createPersonId = createPersonId;
    }

    /**
     * 获取最后修改时间
     *
     * @return modify_time - 最后修改时间
     */
    public Date getModifyTime() {
        return modifyTime;
    }

    /**
     * 设置最后修改时间
     *
     * @param modifyTime 最后修改时间
     */
    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    /**
     * 获取最后修改人编号
     *
     * @return modify_person_id - 最后修改人编号
     */
    public Long getModifyPersonId() {
        return modifyPersonId;
    }

    /**
     * 设置最后修改人编号
     *
     * @param modifyPersonId 最后修改人编号
     */
    public void setModifyPersonId(Long modifyPersonId) {
        this.modifyPersonId = modifyPersonId;
    }

    /**
     * 获取软删除时间
     *
     * @return delete_time - 软删除时间
     */
    public Date getDeleteTime() {
        return deleteTime;
    }

    /**
     * 设置软删除时间
     *
     * @param deleteTime 软删除时间
     */
    public void setDeleteTime(Date deleteTime) {
        this.deleteTime = deleteTime;
    }

    /**
     * 获取删除人编号
     *
     * @return delete_person_id - 删除人编号
     */
    public Long getDeletePersonId() {
        return deletePersonId;
    }

    /**
     * 设置删除人编号
     *
     * @param deletePersonId 删除人编号
     */
    public void setDeletePersonId(Long deletePersonId) {
        this.deletePersonId = deletePersonId;
    }

    /**
     * 获取备注
     *
     * @return remarks - 备注
     */
    public String getRemarks() {
        return remarks;
    }

    /**
     * 设置备注
     *
     * @param remarks 备注
     */
    public void setRemarks(String remarks) {
        this.remarks = remarks == null ? null : remarks.trim();
    }

    /**
     * 获取分类号
     *
     * @return category_number - 分类号
     */
    public String getCategoryNumber() {
        return categoryNumber;
    }

    /**
     * 设置分类号
     *
     * @param categoryNumber 分类号
     */
    public void setCategoryNumber(String categoryNumber) {
        this.categoryNumber = categoryNumber == null ? null : categoryNumber.trim();
    }

    /**
     * 获取设备号
     *
     * @return device_number - 设备号
     */
    public String getDeviceNumber() {
        return deviceNumber;
    }

    /**
     * 设置设备号
     *
     * @param deviceNumber 设备号
     */
    public void setDeviceNumber(String deviceNumber) {
        this.deviceNumber = deviceNumber == null ? null : deviceNumber.trim();
    }

    /**
     * 获取设备数量
     *
     * @return count - 设备数量
     */
    public Integer getCount() {
        return count;
    }

    /**
     * 设置设备数量
     *
     * @param count 设备数量
     */
    public void setCount(Integer count) {
        this.count = count;
    }

    /**
     * 获取设备名称
     *
     * @return device_name - 设备名称
     */
    public String getDeviceName() {
        return deviceName;
    }

    /**
     * 设置设备名称
     *
     * @param deviceName 设备名称
     */
    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName == null ? null : deviceName.trim();
    }

    /**
     * 获取型号
     *
     * @return model - 型号
     */
    public String getModel() {
        return model;
    }

    /**
     * 设置型号
     *
     * @param model 型号
     */
    public void setModel(String model) {
        this.model = model == null ? null : model.trim();
    }

    /**
     * 获取规格
     *
     * @return specifications - 规格
     */
    public String getSpecifications() {
        return specifications;
    }

    /**
     * 设置规格
     *
     * @param specifications 规格
     */
    public void setSpecifications(String specifications) {
        this.specifications = specifications == null ? null : specifications.trim();
    }

    /**
     * 获取单价
     *
     * @return price - 单价
     */
    public BigDecimal getPrice() {
        return price;
    }

    /**
     * 设置单价
     *
     * @param price 单价
     */
    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    /**
     * 获取购买日期
     *
     * @return buy_date - 购买日期
     */
    public Date getBuyDate() {
        return buyDate;
    }

    /**
     * 设置购买日期
     *
     * @param buyDate 购买日期
     */
    public void setBuyDate(Date buyDate) {
        this.buyDate = buyDate;
    }

    /**
     * 获取报废日期
     *
     * @return scrap_date - 报废日期
     */
    public Date getScrapDate() {
        return scrapDate;
    }

    /**
     * 设置报废日期
     *
     * @param scrapDate 报废日期
     */
    public void setScrapDate(Date scrapDate) {
        this.scrapDate = scrapDate;
    }

    /**
     * 获取领用单位
     *
     * @return use_unit - 领用单位
     */
    public String getUseUnit() {
        return useUnit;
    }

    /**
     * 设置领用单位
     *
     * @param useUnit 领用单位
     */
    public void setUseUnit(String useUnit) {
        this.useUnit = useUnit == null ? null : useUnit.trim();
    }

    /**
     * 获取领用人编号
     *
     * @return user_id - 领用人编号
     */
    public Long getUserId() {
        return userId;
    }

    /**
     * 设置领用人编号
     *
     * @param userId 领用人编号
     */
    public void setUserId(Long userId) {
        this.userId = userId;
    }

    /**
     * 获取领用人
     *
     * @return user_name - 领用人
     */
    public String getUserName() {
        return userName;
    }

    /**
     * 设置领用人
     *
     * @param userName 领用人
     */
    public void setUserName(String userName) {
        this.userName = userName == null ? null : userName.trim();
    }

    /**
     * 获取原存放地址
     *
     * @return old_address - 原存放地址
     */
    public String getOldAddress() {
        return oldAddress;
    }

    /**
     * 设置原存放地址
     *
     * @param oldAddress 原存放地址
     */
    public void setOldAddress(String oldAddress) {
        this.oldAddress = oldAddress == null ? null : oldAddress.trim();
    }

    /**
     * 获取现存放地址
     *
     * @return new_address - 现存放地址
     */
    public String getNewAddress() {
        return newAddress;
    }

    /**
     * 设置现存放地址
     *
     * @param newAddress 现存放地址
     */
    public void setNewAddress(String newAddress) {
        this.newAddress = newAddress == null ? null : newAddress.trim();
    }

    /**
     * 获取来源，0:购买，1:历史导入，2:盘盈
     *
     * @return source - 来源，0:购买，1:历史导入，2:盘盈
     */
    public Integer getSource() {
        return source;
    }

    /**
     * 设置来源，0:购买，1:历史导入，2:盘盈
     *
     * @param source 来源，0:购买，1:历史导入，2:盘盈
     */
    public void setSource(Integer source) {
        this.source = source;
    }

    /**
     * 获取状态，0:正常，1:报废，2:盘亏，3:丢损
     *
     * @return status - 状态，0:正常，1:报废，2:盘亏，3:丢损
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置状态，0:正常，1:报废，2:盘亏，3:丢损
     *
     * @param status 状态，0:正常，1:报废，2:盘亏，3:丢损
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getApprovalStatus() {
        return approvalStatus;
    }

    public void setApprovalStatus(Integer approvalStatus) {
        this.approvalStatus = approvalStatus;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", delFlag=").append(delFlag);
        sb.append(", createTime=").append(createTime);
        sb.append(", createPersonId=").append(createPersonId);
        sb.append(", modifyTime=").append(modifyTime);
        sb.append(", modifyPersonId=").append(modifyPersonId);
        sb.append(", deleteTime=").append(deleteTime);
        sb.append(", deletePersonId=").append(deletePersonId);
        sb.append(", remarks=").append(remarks);
        sb.append(", categoryNumber=").append(categoryNumber);
        sb.append(", deviceNumber=").append(deviceNumber);
        sb.append(", count=").append(count);
        sb.append(", deviceName=").append(deviceName);
        sb.append(", model=").append(model);
        sb.append(", specifications=").append(specifications);
        sb.append(", price=").append(price);
        sb.append(", buyDate=").append(buyDate);
        sb.append(", scrapDate=").append(scrapDate);
        sb.append(", useUnit=").append(useUnit);
        sb.append(", userId=").append(userId);
        sb.append(", userName=").append(userName);
        sb.append(", oldAddress=").append(oldAddress);
        sb.append(", newAddress=").append(newAddress);
        sb.append(", source=").append(source);
        sb.append(", status=").append(status);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}